<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../style.css" type="text/css" media="screen">
<link rel="stylesheet" href="../../../print.css" type="text/css" media="print">
<meta content="ALPrecession,com.jidolstar.astro.ALPrecession,BASED_SYSTEM_IAU1976,BASED_SYSTEM_IAU2000A,BASED_SYSTEM_IAU2006,basedSystem,fromJDE,toJDE,getPrecessionOfEclMatrix,getPrecessionOfEquMatrix,setJDE" name="keywords">
<title>com.jidolstar.astro.ALPrecession</title>
</head>
<body>
<script type="text/javascript" language="javascript" src="../../../asdoc.js"></script><script type="text/javascript" language="javascript" src="../../../cookies.js"></script><script type="text/javascript" language="javascript">
<!--
				asdocTitle = 'ALPrecession - as3astrolib';
				var baseRef = '../../../';
				window.onload = configPage;
			--></script>
<table style="display:none" id="titleTable" cellspacing="0" cellpadding="0" class="titleTable">
<tr>
<td align="left" class="titleTableTitle">as3astrolib</td><td align="right" class="titleTableTopNav"><a onclick="loadClassListFrame('../../../all-classes.html')" href="../../../package-summary.html">All&nbsp;Packages</a>&nbsp;|&nbsp;<a onclick="loadClassListFrame('../../../all-classes.html')" href="../../../class-summary.html">All&nbsp;Classes</a>&nbsp;|&nbsp;<a onclick="loadClassListFrame('../../../index-list.html')" href="../../../all-index-A.html">Index</a>&nbsp;|&nbsp;<a href="../../../index.html?com/jidolstar/astro/ALPrecession.html&amp;com/jidolstar/astro/class-list.html" id="framesLink1">Frames</a><a onclick="parent.location=document.location" href="" style="display:none" id="noFramesLink1">No&nbsp;Frames</a></td><td rowspan="3" align="right" class="titleTableLogo"><img alt="Adobe Logo" title="Adobe Logo" class="logoImage" src="../../../images/logo.jpg"></td>
</tr>
<tr class="titleTableRow2">
<td align="left" id="subTitle" class="titleTableSubTitle">Class&nbsp;ALPrecession</td><td align="right" id="subNav" class="titleTableSubNav"><a href="#propertySummary">Properties</a>&nbsp;| <a href="#methodSummary">Methods</a>&nbsp;| <a href="#constantSummary">Constants</a></td>
</tr>
<tr class="titleTableRow3">
<td colspan="2">&nbsp;</td>
</tr>
</table>
<script type="text/javascript" language="javascript">
<!--
if (!isEclipse() || window.name != ECLIPSE_FRAME_NAME) {titleBar_setSubTitle("Class ALPrecession"); titleBar_setSubNav(true,true,false,false,false,false,true,false,false,false,false,false,false,false);}
--></script>
<div class="MainContent">
<table cellspacing="0" cellpadding="0" class="classHeaderTable">
<tr>
<td class="classHeaderTableLabel">Package</td><td><a onclick="javascript:loadClassListFrame('class-list.html')" href="package-detail.html">com.jidolstar.astro</a></td>
</tr>
<tr>
<td class="classHeaderTableLabel">Class</td><td class="classSignature">public class ALPrecession</td>
</tr>
</table>
<p></p>
  Precession(세차)<br>
  세차운동에 관련된 변환행렬을 만들어준다.
  적도좌표계와 황도좌표계에 대응한다. 
  IAU에서  1976년에 채택한 방법을 사용한다. 
  
  <p></p>
<br>
<span class="label">Example</span>
<br>  <div class='listing'><pre>
  //-----------------------------------------------------
  // Astronomical Algorithms 2nd p.137
  //-----------------------------------------------------   
  var toJDE:Number = ALDate.date2JD( -214, 6, 30, 0, 0, 0 );
  var fromJDE:Number = ALConst.JD_J2000;
  var precession:ALPrecession = new ALPrecession( fromJDE, toJDE );
  var eclMat:ALMatrix3D = precession.getPrecessionOfEclMatrix();
  var eclLong:Number = 149.48194;
  var eclLat:Number = 1.76549;
  var eclVec:ALVector3D = new ALVector3D( eclLong ALConst.D2R, eclLat ALConst.D2R, 1, ALVector3D.COORDINATE_TYPE_SPHERICAL );
  var precEclVec:ALVector3D =  eclMat.multiply3x3ByVector3D( [eclVec] )[0];
  
   trace( "------------------------------" );
  trace( "λ0 = " + eclVec.longitudeDegree ); //λ0 = 149.48194
  trace( "β0 = " + eclVec.latitudeDegree ); //β0 = 1.76549
  trace( "fromJDE = " + fromJDE ); //fromJDE = 2451545
  trace( "toJDE = " + toJDE ); //toJDE = 1643074.5
  trace( "λ = " + precEclVec.longitudeDegree ); //λ = 118.70416774860918
   trace( "β = " + precEclVec.latitudeDegree ); //β = 1.6153320060500687
  
  //-----------------------------------------------------
  // Astronomical Algorithms 2nd p.135
  //-----------------------------------------------------
  var RA:Number = ALHMS.HMS2FractionalHour( 2, 44, 11.986 ); //적경 2h 44m 11.986s
  var DE:Number = ALDMS.DMS2FractionalDegree( 49,13,42.48 ); //적위 49°13'42".48
  var pRA:Number = 0.03425; //annual proper motion in right ascension [second]
  var pDE:Number = -0.0895; //annual proper motion in declination [arcsecond]
  var fromDate:ALDate = new ALDate( ALConst.JD_J2000 ); //2000년 1월 1일 
  var toDate:ALDate = new ALDate( 2028, 11, 13.19 ); //2028년 11월 13.19일
  fromJDE = fromDate.JD;
  toJDE = toDate.JD;
  var julianYear:Number = ALTimeConverter.getJulianYear( fromJDE, toJDE ); //Julian Year
  var deltaRA:Number = pRA julianYear;
  var deltaDE:Number = pDE julianYear;
  var RA1:Number = RA + deltaRA / 3600;
  var DE1:Number = DE + deltaDE / 3600;
  precession = new ALPrecession( fromJDE, toJDE );
  var equVec:ALVector3D = new ALVector3D( RA1 ALConst.H2R, DE1 ALConst.D2R, 1, ALVector3D.COORDINATE_TYPE_SPHERICAL );
  var equMat:ALMatrix3D = precession.getPrecessionOfEquMatrix();
  var precEquVec:ALVector3D = equMat.multiply3x3ByVector3D( [equVec] )[0];
  
  trace( "------------------------------" );
  trace( "α0 = " + RA ALConst.H2D ); //α0 = 41.04994166666666
  trace( "δ0 = " + DE); //δ0 = 49.22846666666667
  trace( "fromJDE = " + fromJDE ); //fromJDE = 2451545
  trace( "toJDE = " + toJDE ); //toJDE = 2462088.69
   trace( "Julian Year = " +julianYear); //28.86704996577671
  trace( "Δα = " + deltaRA ); //Δα = 0.9886964613278525
  trace( "Δδ = " + deltaDE ); //Δδ = -2.5836009719370154
  trace( "α0 + Δα = " + equVec.longitudeDegree ); //α0 + Δα = 41.05406123525553
  trace( "δ0 + Δδ = " + equVec.latitudeDegree ); //δ0 + Δδ = 49.22774899973002
  trace( "α = " + precEquVec.longitudeDegree + " = " + ALHMS.fractionalHour2HMS( precEquVec.longitudeHour ).toString("h","m","s",3)); //α = 41.5472125975129 = 02h46m11.331s
  trace( "δ = " + precEquVec.latitudeDegree + " = " + ALDMS.fractionalDegree2DMS( precEquVec.latitudeDegree ).toString());//δ = 49.34848211286583 = 49° 20’ 54”.54   
  </pre></div>
    <p></p>
<p>
<span class="classHeaderTableLabel">See also</span>
</p>
<div class="seeAlso">
<a href="http://en.wikipedia.org/wiki/Precession_(astronomy)" target="mm_external">http://www.mps.mpg.de/homes/fraenz/systems/systems2art/node3.html http://articles.adsabs.harvard.edu/full/1979A%26A....73..282L Astronomical personal on the computer 4th p20~p24 Astronomical Algorithms 2nd p134~138</a>
</div>
<br>
<hr>
</div>
<a name="propertySummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Public Properties</div>
<table id="summaryTableProperty" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Property</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#basedSystem">basedSystem</a> : String<div class="summaryTableDescription">[read-only]
   세차운동시 사용하는 기준 시스템.</div>
</td><td class="summaryTableOwnerCol">ALPrecession</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#fromJDE">fromJDE</a> : Number<div class="summaryTableDescription">[read-only]
   Epoch 
   </div>
</td><td class="summaryTableOwnerCol">ALPrecession</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#toJDE">toJDE</a> : Number<div class="summaryTableDescription">[read-only]
   Epoch to precess to 
   </div>
</td><td class="summaryTableOwnerCol">ALPrecession</td>
</tr>
</table>
</div>
<a name="methodSummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Public Methods</div>
<table id="summaryTableMethod" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Method</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#ALPrecession()">ALPrecession</a>(fromJDE:Number, toJDE:Number, basedSystem:String = "IAU1976")</div>
<div class="summaryTableDescription">
   생성자
   </div>
</td><td class="summaryTableOwnerCol">ALPrecession</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#getPrecessionOfEclMatrix()">getPrecessionOfEclMatrix</a>():<a href="../astro/ALMatrix3D.html">ALMatrix3D</a>
</div>
<div class="summaryTableDescription">
   Precession of Ecliptic Coordinate Transformation Matrix
   </div>
</td><td class="summaryTableOwnerCol">ALPrecession</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#getPrecessionOfEquMatrix()">getPrecessionOfEquMatrix</a>():<a href="../astro/ALMatrix3D.html">ALMatrix3D</a>
</div>
<div class="summaryTableDescription">
   Precession of Equatorial Coordinate Transformation Matrix
   </div>
</td><td class="summaryTableOwnerCol">ALPrecession</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#setJDE()">setJDE</a>(fromJDE:Number, toJDE:Number, basedSystem:String = "IAU1976"):void</div>
<div class="summaryTableDescription">
   Julian Ephemeris Date(JDE) 설정 
   </div>
</td><td class="summaryTableOwnerCol">ALPrecession</td>
</tr>
</table>
</div>
<a name="constantSummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Public Constants</div>
<table id="summaryTableConstant" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Constant</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#BASED_SYSTEM_IAU1976">BASED_SYSTEM_IAU1976</a> : String = "IAU1976"<div class="summaryTableDescription">[static]</div>
</td><td class="summaryTableOwnerCol">ALPrecession</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#BASED_SYSTEM_IAU2000A">BASED_SYSTEM_IAU2000A</a> : String = "IAU2000A"<div class="summaryTableDescription">[static]</div>
</td><td class="summaryTableOwnerCol">ALPrecession</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#BASED_SYSTEM_IAU2006">BASED_SYSTEM_IAU2006</a> : String = "IAU2006"<div class="summaryTableDescription">[static]</div>
</td><td class="summaryTableOwnerCol">ALPrecession</td>
</tr>
</table>
</div>
<script type="text/javascript" language="javascript">
<!--
showHideInherited();
--></script>
<div class="MainContent">
<a name="propertyDetail"></a>
<div class="detailSectionHeader">Property detail</div>
<a name="basedSystem"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">basedSystem</td><td class="detailHeaderType">property</td>
</tr>
</table>
<div class="detailBody">
<code>basedSystem:String</code>&nbsp;&nbsp;[read-only]<p>
   세차운동시 사용하는 기준 시스템. 기본값은 IAU1976 이다.
   </p><span class="label">Implementation</span>
<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;public function get basedSystem():String</code>
<br>
</div>
<a name="fromJDE"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">fromJDE</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>fromJDE:Number</code>&nbsp;&nbsp;[read-only]<p>
   Epoch 
   </p><span class="label">Implementation</span>
<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;public function get fromJDE():Number</code>
<br>
</div>
<a name="toJDE"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">toJDE</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>toJDE:Number</code>&nbsp;&nbsp;[read-only]<p>
   Epoch to precess to 
   </p><span class="label">Implementation</span>
<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;public function get toJDE():Number</code>
<br>
</div>
<a name="constructorDetail"></a>
<div class="detailSectionHeader">Constructor detail</div>
<a name="ALPrecession()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">ALPrecession</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">constructor</td>
</tr>
</table>
<div class="detailBody">
<code>public function ALPrecession(fromJDE:Number, toJDE:Number, basedSystem:String = "IAU1976")</code><p>
   생성자
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">fromJDE</span>:Number</code> &mdash; Epoch given 
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">toJDE</span>:Number</code> &mdash; Epoch to precess to
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">basedSystem</span>:String</code> (default = "<code>IAU1976</code>")<code></code></td>
</tr>
</table>
</div>
<a name="methodDetail"></a>
<div class="detailSectionHeader">Method detail</div>
<a name="getPrecessionOfEclMatrix()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">getPrecessionOfEclMatrix</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td>
</tr>
</table>
<div class="detailBody">
<code>public function getPrecessionOfEclMatrix():<a href="../astro/ALMatrix3D.html">ALMatrix3D</a></code><p>
   Precession of Ecliptic Coordinate Transformation Matrix
   </p><p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code><a href="../astro/ALMatrix3D.html">ALMatrix3D</a></code> &mdash; 
                        세차운동이 적용된 황도좌표변환 행렬  
   
                        
                     </td>
</tr>
</table>
</div>
<a name="getPrecessionOfEquMatrix()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">getPrecessionOfEquMatrix</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function getPrecessionOfEquMatrix():<a href="../astro/ALMatrix3D.html">ALMatrix3D</a></code><p>
   Precession of Equatorial Coordinate Transformation Matrix
   </p><p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code><a href="../astro/ALMatrix3D.html">ALMatrix3D</a></code> &mdash; 
                        세차운동이 적용된 적도좌표변환 행렬  
   
                        
                     </td>
</tr>
</table>
</div>
<a name="setJDE()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">setJDE</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function setJDE(fromJDE:Number, toJDE:Number, basedSystem:String = "IAU1976"):void</code><p>
   Julian Ephemeris Date(JDE) 설정 
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">fromJDE</span>:Number</code> &mdash; Epoch given 
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">toJDE</span>:Number</code> &mdash; Epoch to precess to
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">basedSystem</span>:String</code> (default = "<code>IAU1976</code>")<code></code></td>
</tr>
</table>
</div>
<a name="constantDetail"></a>
<div class="detailSectionHeader">Constant detail</div>
<a name="BASED_SYSTEM_IAU1976"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">BASED_SYSTEM_IAU1976</td><td class="detailHeaderType">constant</td>
</tr>
</table>
<div class="detailBody">
<code>public static const BASED_SYSTEM_IAU1976:String = "IAU1976"</code>
</div>
<a name="BASED_SYSTEM_IAU2000A"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">BASED_SYSTEM_IAU2000A</td><td class="detailHeaderType">constant</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public static const BASED_SYSTEM_IAU2000A:String = "IAU2000A"</code>
</div>
<a name="BASED_SYSTEM_IAU2006"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">BASED_SYSTEM_IAU2006</td><td class="detailHeaderType">constant</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public static const BASED_SYSTEM_IAU2006:String = "IAU2006"</code>
</div>
<br>
<br>
<hr>
<br>
<p></p>
<center class="copyright">Author : Yongho, Ji (jidolstar@gmail.com)</center>
</div>
</body>
</html>
<!--Author : Yongho, Ji (jidolstar@gmail.com)-->
